Testing electronic devices, such as integrated circuits, can be an important stage in manufacturing these devices. In particular, before an integrated circuit is sold, or otherwise placed in a user environment, the circuit is tested to ensure that it operates according to its design parameters to assure that it will function for its intended purpose. Testing of an integrated circuit can take place using a variety of techniques. For example, an integrated circuit may be tested at a high level by applying signals to the input pins of the device that are representative of expected operating conditions of the device. This can ensure that the device responds appropriately under simulated operating conditions. In addition, an integrated circuit may be tested at a lower level by using design and test techniques that allow internal circuits to be controlled and monitored more directly, such as through the use of scan test techniques.
One testing method includes using a tester to apply a series of test vectors simulating actual operating conditions to the inputs of a device under test and determining whether an expected response is provided to the outputs of the device. Another testing method includes using the tester to apply a series of random, or pseudo-random, test vectors to the device under test that are generated at the tester using a seed value. While these test vectors are not necessarily representative of actual operating conditions of the device under test, their application does produce expected results, which can be compared to actual results to determine whether or not the device under test is operational.
Because an integrated circuit can include millions of logic devices, verifying the integrity of each individual device can be difficult and can require a large number of test vectors. One limitation of testing a device by applying pseudo-random test vectors to the device is that all logic devices may not be tested, because the particular test vector sequence only provides observability to a certain percentage of the logic devices. Therefore, additional test vectors may need to be identified to test the untested portion of the integrated circuit. By applying the additional test vectors, a more complete testing of the integrated circuit can be realized. However, the application of the additional test vectors generally requires additional memory space to store them. While the cost of additional memory space in a tester may be acceptable, given its relative costs, such additional memory space is typically not available to a device using built in self test circuitry (BIST circuitry).
Accordingly, there is a need for an improved system and method to test an electronic device.